package cn.psvmc.cxzapi.model.goods;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 商品表
 * @Author auto
 * @Date 2024-08-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_goods")
public class TGoods implements Serializable {

    //商品id
    @TableId(value = "goods_id", type = IdType.AUTO)
    private Integer goodsId;

    //商品名
    @TableField("name")
    private String name;

    //角标文字
    @TableField("title")
    private String title;

    //封面图
    @TableField("cover_img")
    private String coverImg;

    //商品图片
    @TableField("img")
    private String img;

    //其他服务（1 90天质 2保质量保修 3按时发货 4上门安装 5 24小时发货 6随租随还 7当日发货 8免赔保障 9首单价）
    @TableField("other")
    private String other;

    //商品描述
    @TableField("comm")
    private String comm;

    //商品编号
    @TableField("goods_code")
    private String goodsCode;

    //租金范围（元）
    @TableField("price_range")
    private String priceRange;

    //销售价格（元）
    @TableField("sell_price")
    private String sellPrice;

    //总库存
    @TableField("stock")
    private Integer stock;

    //租金范围（天）
    @TableField("day_range")
    private String dayRange;

    //押金范围（元）
    @TableField("deposit_range")
    private String depositRange;

    //审核状态（0待处理1审核通过2拒绝）
    @TableField("check_status")
    private Integer checkStatus;

    //审核意见
    @TableField("check_comm")
    private String checkComm;

    //审核人id
    @TableField(value = "check_id")
    private Integer checkId;

    //审核时间
    @TableField(value = "check_time")
    private LocalDateTime checkTime;

    //提示文案
    @TableField("tip_comm")
    private String tipComm;

    //步数（1已设置类目信息 2已设置商品信息 3已设置销售信息 4已设置物流信息）
    @TableField("step")
    private Integer step;

    //商品状态（0草稿 1已上架 2已下架 3审核中 4系统下架）
    @TableField("goods_status")
    private Integer goodsStatus;

    //分类id
    @TableField(value = "sort_id")
    private Integer sortId;

    //分类名
    @TableField(exist = false)
    private String sortName;

    //品牌id
    @TableField("brand_id")
    private Integer brandId;

    //品牌型号id
    @TableField(value = "bmid")
    private Integer bmid;

    //商家id
    @TableField("storeid")
    private Integer storeid;

    //是否删除0未删除1已删除
    @TableLogic
    @TableField("deleted")
    private Integer deleted;

    //新旧程度
    @TableField("goods_condition")
    private String goodsCondition;

    //是否是白名单商品(0否1是)
    @TableField("is_white")
    private Integer isWhite;

    //创建人id
    @TableField(value = "createid", fill = FieldFill.INSERT)
    private Integer createid;

    //创建时间
    @TableField(value = "createtime", fill = FieldFill.INSERT)
    private LocalDateTime createtime;

    //操作人id
    @TableField(value = "updateid", fill = FieldFill.INSERT_UPDATE)
    private Integer updateid;

    //操作时间
    @TableField(value = "updatetime", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatetime;

    //类型（0普通商品 1支付宝商品）
    @TableField("goods_type")
    private Integer goodsType;

    //支付宝商品是否需要同步（0不需要 1需要）
    @TableField("need_sync")
    private Integer needSync;

    //版本号
    @TableField("rversion")
    @Version
    private Integer rversion;

    //租赁方案
    @TableField(exist = false)
    private List<TGoodsRent> rents;

    //商品属性
    @TableField(exist = false)
    private List<TGoodsAttribute> attributes;

    //销售规格
    @TableField(exist = false)
    private List<TGoodsSpecs> specs;

    //物流信息
    @TableField(exist = false)
    private TGoodsLogistics logistics;


}
